class Solution {
    public boolean isAnagram(String s, String t) {
        int sl = s.length();
        int tl = t.length();
        if(sl != tl) {
            return false;
        }
        if(s.equals(t)) {
            return false;
        }
        //可以排序后比较
        /**
        char[] str1 = s.toCharArray();
        char[] str2 = t.toCharArray();
        Arrays.sort(str1);
        Arrays.sort(str2);
        return Arrays.equals(str1, str2);
         */
        HashMap<Character,Integer> hashMap = new HashMap<>();
        for (int i = 0; i < sl; i++) {
            char s1 = s.charAt(i);
            if(!hashMap.containsKey(s1)) {
                hashMap.put(s1,1);
            } else {
                int num = hashMap.get(s1);
                num++;
                hashMap.put(s1,num);
            }
        }
        for (int i = 0; i < tl; i++) {
            char s2 = t.charAt(i);
            if(!hashMap.containsKey(s2)) {
                return false;
            } else {
                int num = hashMap.get(s2);
                num--;
                if(num == 0) {
                    hashMap.remove(s2);
                } else {
                    hashMap.put(s2,num);
                }
            }
        }
        if(hashMap.isEmpty()) {
            return true;
        } else {
            return false;
        }
    }
}